// defHttp就是封装好的发送请求函数
import { defHttp } from '/@/utils/http/axios';
// 数据类型 - 定义响应返回值数据的类型
import {
  GetTrademarkListResultModel,
  TrademarkModel,
  TrademarkListModel,
} from './model/trademarkModel';

// 枚举：定义请求地址的
enum Api {
  GetTrademarkList = '/admin/product/baseTrademark',
  GetAllTrademarkList = '/admin/product/baseTrademark/getTrademarkList',
  SaveTrademark = '/admin/product/baseTrademark/save',
  UpdateTrademark = '/admin/product/baseTrademark/update',
  RemoveTrademark = '/admin/product/baseTrademark/remove',
}

// 删除品牌
export const removeTrademarkApi = (id: number) => {
  return defHttp.delete<null>({
    url: Api.RemoveTrademark,
    params: `/${id}`,
  });
};

// 更新品牌
export const updateTrademarkApi = (data: TrademarkModel) => {
  return defHttp.put<null>({
    url: Api.UpdateTrademark,
    data,
  });
};

// 添加品牌
export const saveTrademarkApi = (data: TrademarkModel) => {
  return defHttp.post<null>({
    url: Api.SaveTrademark,
    data,
  });
};

// 获取全部品牌列表
export const getAllTrademarkListApi = () => {
  return defHttp.get<TrademarkListModel>({
    url: Api.GetAllTrademarkList,
  });
};

// 获取品牌分页列表
export const getTrademarkListApi = (page: number, limit: number) => {
  // <GetTrademarkListResultModel> 定义响应返回值数据的类型
  return defHttp.get<GetTrademarkListResultModel>({
    url: Api.GetTrademarkList,
    // params: {}, 代表传递的是querystring参数
    // params: ``, 代表传递的是params/path参数, 最终会直接拼接到url后面
    params: `/${page}/${limit}`,
  });
};
